home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Leser 19 / Amiga Plus Leser CD 19.iso / Tools / Freeware / PerfectPaint / rexx / text / FlatShade.rx < prev    next >
Text File  |  2001-12-20  |  2KB  |  95 lines

  1. /*
  2. FlatShade.rx
  3. Adds an outline and a sharp shadow to text
  4. */
  5.     options results
  6.   parse ARG Port x y b
  7.     ADDRESS value Port
  8.  
  9.     SX=3
  10.     SY=3
  11.     F=1
  12.     if EXISTS('PerfectPaint:Prefs/Rexx_Prefs/flatshade') THEN DO
  13.         IF OPEN('lfile','PerfectPaint:Prefs/Rexx_Prefs/flatshade', "R") then DO
  14.             SX = READLN('lfile')
  15.             SY = READLN('lfile')            
  16.             F = READLN('lfile')    
  17.             CALL CLOSE('lfile')
  18.         END
  19.     END
  20.  
  21.     pp_AvoidRefresh
  22.  
  23.     pp_DialogInit 150 95 "*Flatshade*" 3
  24.         pp_Integer 0 60 5 50 16 "Shift*X" 1 SX
  25.         pp_Integer 1 60 25 50 16 "Shift*Y" 1 SY
  26.         pp_Integer 2 60 45 50 16 "Outline" 1 F
  27.     pp_Dialog
  28.     rc=result
  29.     if rc=0 then
  30.         do
  31.             pp_PermitRefresh
  32.             EXIT
  33.         end    
  34.     pp_GetDialog 0
  35.     sx=result
  36.     pp_GetDialog 1
  37.     sy=result
  38.     pp_GetDialog 2
  39.     F=Result
  40.  
  41.  
  42.     pp_AvoidRefresh
  43.  
  44.     pp_UpdateUndo
  45.  
  46.     pp_GetApen
  47.     AP=result
  48.     pp_GetBpen
  49.     BP=result
  50.  
  51.     texte=""
  52.  
  53.     pp_SetApen BP
  54.     pp_TextEffect 0 1 /*no effect*/
  55.     pp_TextMake texte /*make current text*/
  56.     pp_TextDraw x y
  57.     pp_SetApen AP
  58.     pp_TextMake texte
  59.     pp_TextDraw x-sx y-sy
  60. if f>0 then do
  61.     pp_SetaPen BP
  62.     pp_TextEffect 1 f-1 /*Outline*/
  63.     pp_TextMake texte
  64.     pp_TextDraw x-sx y-sy
  65. END
  66.     pp_setapen ap
  67.  
  68.         CALL SavePrefs('flatshade',SX,SY,F)
  69.  
  70.     pp_PermitRefresh
  71.     
  72.  
  73.  
  74.     
  75.  
  76.     
  77. SaveePrefs: PROCEDURE
  78.     
  79.     Prefname='PerfectPaint:Prefs/Rexx_Prefs/'||ARG(1)
  80.  
  81.     if EXISTS(Prefname) THEN DO
  82.         ADDRESS COMMAND
  83.         'delete >nil: '||Prefname
  84.     END
  85.  
  86.     IF OPEN('pfile',PrefName,'W') THEN DO
  87.  
  88.     do i=2 to ARG()
  89.         CALL WRITELN('pfile',ARG(i))
  90.     end
  91.  
  92.     CALL CLOSE('pfile')
  93.  
  94. RETURN
  95.